package com.telsoft.hms.function;

import java.util.ArrayList;
import java.util.List;

import com.telsoft.hms.data.OrderService_DATA;
import com.telsoft.hms.entity.ETT_OrderService;
import com.telsoft.hms.lib.security.session.Session;
import com.telsoft.hms.util.SessionUtil;

/**
 * 
 * @author MANHNT Class phiếu yêu cầu dịch vụ
 */
public class OrderService_FUNC {
	private final OrderService_DATA orderServiceData;

	public OrderService_FUNC() {
		orderServiceData = new OrderService_DATA();
	}

	/**
	 * MANHNT
	 * @param strSercurityKey
	 *            - Mã bảo mật
	 * @param lPatientId
	 *            - Mã bệnh nhân
	 * @return Danh sách các phiếu YCDV của bệnh nhân
	 * @throws Exception
	 */
	public List<ETT_OrderService> getAllOrderServiceByPatientId(
			String strSercurityKey, long lPatientId) throws Exception {
		List<ETT_OrderService> lstOrderService = new ArrayList<ETT_OrderService>();
		try {
			// Kiểm tra mã bảo mật
			Session session = SessionUtil.getSession(strSercurityKey);
			// Nếu patientId = 0 => Bệnh nhân không tồn tại
			if (lPatientId == 0) {
				throw new Exception("ERR-0014"); // ERR-0014 - Bệnh nhân không
												// tồn tại
			} else {
				// Lấy phiếu yêu cầu dịch vụ
				lstOrderService = orderServiceData.getAllOrderServiceByPatientId(session.getHospitalKey(), session.getLanguageCode(), lPatientId);
			}
		} catch (Exception ex) {
			throw ex;
		}
		return lstOrderService;
	}
}
